define(['../data/flight'
  , '../data/geoCoordMap'
  , '../option/geo'
  , 'lodash'], function(flight, geoCoordMap, option, _) {

  var planePath = 'path://M1705.06,1318.313v-89.254l-319.9-221.799l0.073-208.063c0.521-84.662-26.629-121.796-63.961-121.491c-37.332-0.305-64.482,36.829-63.961,121.491l0.073,208.063l-319.9,221.799v89.254l330.343-157.288l12.238,241.308l-134.449,92.931l0.531,42.034l175.125-42.917l175.125,42.917l0.531-42.034l-134.449-92.931l12.238-241.308L1705.06,1318.313z';

  var convertData = function (data) {
      var res = [];
      for (var i = 0; i < data.length; i++) {
          var dataItem = data[i];
          var fromCoord = geoCoordMap[dataItem[0].name];
          var toCoord = geoCoordMap[dataItem[1].name];
          if (fromCoord && toCoord) {
              res.push({
                  fromName: dataItem[0].name,
                  toName: dataItem[1].name,
                  coords: [fromCoord, toCoord]
              });
          }
      }
      return res;
  };

  var color = ['#a6c84c', '#ffa022', '#46bee9'];

  var series = [];

  _.map([['北京', flight.BJData], ['上海', flight.SHData], ['广州', flight.GZData]], function (item, i) {
    series.push({
        name: item[0] + ' Top10',
        type: 'lines',
        zlevel: 1,
        effect: {
            show: true,
            period: 6,
            trailLength: 0.7,
            color: '#fff',
            symbolSize: 3
        },
        lineStyle: {
            normal: {
                color: color[i],
                width: 0,
                curveness: 0.2
            }
        },
        data: convertData(item[1])
    },
    {
        name: item[0] + ' Top10',
        type: 'lines',
        zlevel: 2,
        effect: {
            show: true,
            period: 6,
            trailLength: 0,
            symbol: planePath,
            symbolSize: 15
        },
        lineStyle: {
            normal: {
                color: color[i],
                width: 1,
                opacity: 0.4,
                curveness: 0.2
            }
        },
        data: convertData(item[1])
    },
    {
        name: item[0] + ' Top10',
        type: 'effectScatter',
        coordinateSystem: 'geo',
        zlevel: 2,
        rippleEffect: {
            brushType: 'stroke'
        },
        label: {
            normal: {
                show: true,
                position: 'right',
                formatter: '{b}'
            }
        },
        symbolSize: function (val) {
            return val[2] / 8;
        },
        itemStyle: {
            normal: {
                color: color[i]
            }
        },
        data: item[1].map(function (dataItem) {
            return {
                name: dataItem[1].name,
                value: geoCoordMap[dataItem[1].name].concat([dataItem[1].value])
            };
        })
    });
});

  var option = _.merge({}, option, {
    title: {
      text: '模拟迁徙',
      subtext: '数据纯属虚构'
    },
    legend: {
      orient: 'vertical',
      top: 'top',
      left: 'right',
      inactiveColor: '#fff484',
      data: ['北京 Top10', '上海 Top10', '广州 Top10'],
      textStyle: {
        fontSize: 16,
        color: '#ff9b27',
        fontWeight: 'bold'
      },
      selectedMode: 'single'
    },
    // geo: {
    //   map: 'china',
    //   label: {
    //     emphasis: {
    //       show: false
    //     }
    //   },
    //   roam: true,
    //   itemStyle: {
    //     normal: {
    //       areaColor: '#323c48',
    //       borderColor: '#404a59'
    //     },
    //     emphasis: {
    //       areaColor: '#2a333d'
    //     }
    //   },
    //   regions: [{
    //     name: '安徽',
    //     itemStyle: {
    //       normal: {
    //         areaColor: '#3c7646',
    //         borderColor: '#7ddee7',
    //         borderWidth: 3
    //       },
    //       emphasis: {
    //         areaColor: '#9ac0c9'
    //       }
    //     },
    //     label: {
    //       normal: {
    //         show: true,
    //         textStyle: {
    //           fontSize: 16,
    //           color: '#ff9b27',
    //           fontWeight: 'bold'
    //         }
    //       },
    //       emphasis: {
    //         show: true,
    //         textStyle: {
    //           fontSize: 16,
    //           color: '#fa7b0a',
    //           fontWeight: 'bold'
    //         }
    //       }
    //     }
    //   }, {
    //     name: '浙江',
    //     itemStyle: {
    //       normal: {
    //         areaColor: '#60b8a0',
    //         borderColor: '#356c33',
    //         borderWidth: 3
    //       },
    //       emphasis: {
    //         areaColor: '#e7ffac'
    //       }
    //     }
    //   }]
    // },
    // visualMap: {
    //   min: 0,
    //   max: 200,
    //   calculable: true,
    //   inRange: {
    //     color: ['#50a3ba', '#eac736', '#d94e5d']
    //   },
    //   textStyle: {
    //     color: '#fff'
    //   }
    // },
    series: series
  })

  return option;
})
